package tools.old.files;

import java.util.ArrayList;

import dao.account.DataLayerAccount;
import account.model.Account;
import tools.EmailValidator;
import tools.language.MentionAccounts;
import tools.mail.Mail;

public class DocentRegistrerenModel {

	private static DocentRegistrerenModel instance;

	private DataLayerAccount dl = new DataLayerAccount();
	private EmailValidator ev = new EmailValidator();

	private DocentRegistrerenView drv = DocentRegistrerenView.getInstance();

	private Klas k = new Klas();	

	public ArrayList<Account> account = new ArrayList<>();

	public static DocentRegistrerenModel getInstance() {

		if (instance == null) {
			instance = new DocentRegistrerenModel();
		}
		return instance;
	}

	public boolean registreren() {
		String voornaam = DocentRegistrerenView.getInstance().getVoornaamtf().getText();
		String achternaam = DocentRegistrerenView.getInstance().getAchternaamtf().getText();
		String email = DocentRegistrerenView.getInstance().getEmailtf().getText();
		String gebruikersnaam = DocentRegistrerenView.getInstance().getGebruikersnaamtf().getText();
		String afkorting = DocentRegistrerenView.getInstance().getAfkortingtf().getText();

		//wachtwoord uit jpasswordfield ophalen
		char[] wachtwoord = DocentRegistrerenView.getInstance().getWachtwoordtf().getPassword();
		String wwString = new String(wachtwoord);	

		//geselecteerde klas doorvoeren
		Object klas = DocentRegistrerenView.getInstance().getKlasCB().getSelectedItem();
		//			String klas1 = klas.toString();

		int lengte = Klassenlijst.getInstance().getKlassen().size();

		for(int i=0; i < lengte;i++) {
			if(Klassenlijst.getInstance().getKlassen().get(i).getKlas_naam().equals(klas)){
				k=Klassenlijst.getInstance().getKlassen().get(i);
			}
		}

		//geen gegevens ingevuld check
		if(voornaam.equals("") || achternaam.equals("") || email.equals("") || gebruikersnaam.equals("") || wachtwoord.equals("") || afkorting.equals("") ){
			MentionAccounts.getInstance().errorRegistreren();
		}

		//email check
		else if(!ev.validate(DocentRegistrerenView.getInstance().emailtf.getText().trim())) {
			MentionAccounts.getInstance().errorEmail();
		}

		//gebruikersnaam check
//		else if(dl.checkDocentName() == null){
			
//			Account acc = new Account(voornaam, achternaam, email,gebruikersnaam, wwString, 0, k, null, null, afkorting);
//			DocentRegistrerenModel.getInstance().registreerAccount(acc);

			//mail versturen naar gebruiker met naam en wachtwoord
//			Account mail = new Account(email, voornaam, gebruikersnaam, wwString);
//			Account.getInstance().mailVerzenden(mail);

			//succes melding oproepen
			MentionAccounts.getInstance().succesRegistreren();
			System.exit(0);
//		}

		return false;
	}

	// toevoegen van docent
	public void registreerAccount(Account a) {
		dl.openConn();
//		dl.insertDocent(a);
		dl.closeConn();
	}
}
